package facade

type ChatRequest struct {
	UserId   string `json:"user_id"`
	Role     string `json:"role"`
	ModelId  string `json:"model_id"`
	Question string `json:"question"`
	Data     string `json:"data"`
}

type ChatResponse struct {
	Answer string `json:"answer"`
}

const (
	RoleChat  = "chat"
	RoleAgent = "agent"
)

const (
	ModelStyleDefault = "资深架构师专家"
)
const (
	OPENAI   = "openai"
	DEEPSEEK = "deepseek"
	QWEN     = "qwen"
	ARK      = "ark"
	ARK_BOT  = "ark_bot"
)

type ChatSendOut interface {
	Send(req *ChatResponse) error
}

type ChatStreamOut interface {
	Recv(out ChatSendOut) error
}
